function DecDev=SubFun_UnitIRFDec(PP,SS,MODEL,EquJac,VarList,T,InputDev)

HH          =   MODEL.EquBlock.HH;
OutputDev   =   struct();

for ii=1:HH.Num.Out
    OutVar          =   HH.Var.Out{ii};
    for jj=1:length(VarList)
        InVar           =   VarList{jj};
        OutputDev.(OutVar).(InVar) ...
                        =   zeros(length(HH.LocIdx.Out.(OutVar)),T);
    end
end
for ii=1:length(VarList)
    InVar           =   VarList{ii};
    ValFunp         =   zeros(size(SS.ValFun));
    for tt=T:-1:1
        DevInput                        =   zeros(HH.Dim.In,1);
        DevInput(HH.LocIdx.In.ValFunp)  =   ValFunp;
        DevInput(HH.LocIdx.In.(InVar))  =   InputDev.(InVar)(:,tt);
        % DevOutput   =   Equ_HF(PP,SS,MODEL,0,DevInput,zeros(HH.Dim.Out,1));
        DevOutput   =   EquJac.HH.Input*DevInput;
        ValFunp     =   DevOutput(HH.LocIdx.Out.ValFun);
        for jj=1:HH.Num.Out
            OutVar          =   HH.Var.Out{jj};
            OutputDev.(OutVar).(InVar)(:,tt) ...
                            =   DevOutput(HH.LocIdx.Out.(OutVar));
        end
    end

end

DecDev      =   OutputDev;
